﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace FlyingCircusWebIS.ViewModels.MidiaSocialVM
{
    public class MidiaSocialEditarVM
    {
        [Display(Name = "Nome que aparece no e-mail *")]
        [Required(ErrorMessage = "Insira o nome do e-mail.")]
        [MinLength(3, ErrorMessage = "O tamanho mínimo do nome e-mail são 3 caracteres.")]
        [StringLength(50, ErrorMessage = "O tamanho máximo do nome e-mail são 50 caracteres.")]
        public string NomeApareceEmail { get; set; }

        [Display(Name = "E-mail *")]
        [Required(ErrorMessage = "Insira o endereço do e-mail.")]
        [MinLength(5, ErrorMessage = "O tamanho mínimo do e-mail são 5 caracteres.")]
        [StringLength(50, ErrorMessage = "O tamanho máximo do e-mail são 50 caracteres.")]
        [EmailAddress(ErrorMessage="Insira o e-mail no formato correto.")]
        public string EnderecoEmail { get; set; }


        [Display(Name = "Assunto da mensagem de ativação do cadastro *")]
        [Required(ErrorMessage = "Insira o assunto da mensagem de ativação do cadastro.")]
        [MinLength(10, ErrorMessage = "O tamanho mínimo do assunto da mensagem de ativação do cadastro são 10 caracteres.")]
        [StringLength(100, ErrorMessage = "O tamanho máximo do assunto da mensagem de ativação do cadastro são 100 caracteres.")]
        public string AssuntoMensagemAtivacaoCadastro { get; set; }

        [Display(Name = "Mensagem de ativação do cadastro *",
            Description="A mensagem de ativação que será enviada para o email do cliente. Não esqueça de indicar a marcação $$_LINK para demonstrar onde será atribuido o link de ativação.")]
        [Required(ErrorMessage = "Insira a mensagem de ativação do cadastro.")]
        [MinLength(50, ErrorMessage = "O tamanho mínimo da mensagem de ativação do cadastro são 50 caracteres.")]
        [StringLength(2000, ErrorMessage = "O tamanho máximo da mensagem de ativação do cadastro são 2000 caracteres.")]
        [AllowHtml]
        public string MensagemAtivacaoCadastro { get; set; }

        [Display(Name = "Assunto da mensagem de cancelamento de reserva *")]
        [Required(ErrorMessage = "Insira o assunto da mensagem cancelamento de reserva.")]
        [MinLength(10, ErrorMessage = "O tamanho mínimo do assunto da mensagem de cancelamento de reserva são 10 caracteres.")]
        [StringLength(100, ErrorMessage = "O tamanho máximo do assunto da mensagem de cancelamento de reserva são 100 caracteres.")]
        public string AssuntoMensagemCancelamentoReserva { get; set; }

        [Display(Name = "Mensagem de cancelamento de reserva *")]
        [Required(ErrorMessage = "Insira a mensagem de cancelamento de reserva.")]
        [MinLength(50, ErrorMessage = "O tamanho mínimo da mensagem de cancelamento de reserva são 50 caracteres.")]
        [StringLength(2000, ErrorMessage = "O tamanho máximo da mensagem de cancelamento de reserva são 2000 caracteres.")]
        [AllowHtml]
        public string MensagemCancelamentoReserva { get; set; }

        [Display(Name= "Assunto da mensagem de confirmação de reserva *")]
        [Required(ErrorMessage= "Insira o assunto da mensagem de confirmação da reserva")]
        [MinLength(10, ErrorMessage= "O tamanho mínimo do assunto da mensagem de confirmação de reserva são 10 caracteres")]
        [StringLength(100, ErrorMessage= "O tamanho máximo do assunto da mensagem de confirmação da reserva são 100 caracteres")]
        public string AssuntoMensagemConfirmacaoReserva { get; set; }

        [Display(Name= "Mensagem de confirmação de reserva *")]
        [Required(ErrorMessage= "Insira a mensagem de cancelamento de reserva")]
        [MinLength(50, ErrorMessage= "O tamanho mínimo da mensagem da confirmação são de 50 caracteres")]
        [StringLength(10000, ErrorMessage= "O tamanho máximo da mensagem de confirmação da reserva são de 10000 caracteres")]
        [AllowHtml]
        public string MensagemConfirmacaoReserva { get; set; }

        [Display(Name = "Host *")]
        [Required(ErrorMessage = "Insira o endereço do e-mail.")]
        [MinLength(5, ErrorMessage = "O tamanho mínimo do e-mail são 5 caracteres.")]
        [StringLength(70, ErrorMessage = "O tamanho máximo do host do e-mail são 70 caracteres.")]
        public string HostEmail { get; set; }

        [Display(Name = "Porta *")]
        [Required(ErrorMessage = "Insira a porta do host do e-mail.")]
        [MinLength(1, ErrorMessage = "O tamanho mínimo da porta do host do e-mail são 1 caracteres.")]
        [StringLength(6, ErrorMessage = "O tamanho máximo da porta do host do e-mail são 6 caracteres.")]
        public string PortaHostEmail { get; set; }

        [Display(Name = "Senha *")]
        [Required(ErrorMessage = "Insira o endereço do e-mail.")]
        [MinLength(8, ErrorMessage = "O tamanho mínimo da senha do e-mail são 8 caracteres.")]
        [StringLength(300, ErrorMessage = "O tamanho máximo da senha do e-mail são 300 caracteres.")]
        public string SenhaEmail { get; set; }

        [Display(Name = "SSL")]
        public bool ConexaoSSLEmail { get; set; }

        [Display(Name = "Facebook App ID *")]
        [Required(ErrorMessage = "Insira o Facebook App ID.")]
        [MinLength(5, ErrorMessage = "O tamanho mínimo do Facebook App ID são 5 caracteres.")]
        [StringLength(200, ErrorMessage = "O tamanho máximo do Facebook App ID são 200 caracteres.")]
        public string FacebookAppId { get; set; }

        [Display(Name = "Facebook App Secret *")]
        [Required(ErrorMessage = "Insira o Facebook App Secret.")]
        [MinLength(5, ErrorMessage = "O tamanho mínimo do Facebook App Secret são 5 caracteres.")]
        [StringLength(250, ErrorMessage = "O tamanho máximo do Facebook App Secret são 250 caracteres.")]
        public string FacebookAppSecret { get; set; }

        [Display(Name = "Facebook Access Token *")]
        [Required(ErrorMessage = "Insira o Facebook Access Token.")]
        [MinLength(5, ErrorMessage = "O tamanho mínimo do Facebook Access Token são 5 caracteres.")]
        [StringLength(500, ErrorMessage = "O tamanho máximo do Facebook Access Token são 500 caracteres.")]
        public string FacebookAccessToken { get; set; }

        [Display(Name = "Facebook Post URL *")]
        [Required(ErrorMessage = "Insira a Facebook Post URL.")]
        [MinLength(5, ErrorMessage = "O tamanho mínimo da Facebook Post URL são 5 caracteres.")]
        [StringLength(200, ErrorMessage = "O tamanho máximo da Facebook Post URL são 200 caracteres.")]
        public string FacebookPostUrl { get; set; }
        
    }
}